### 4.2.9 障害物回避 #### 4.2.9.1 概要 ![Img](./media/top1.png) このプロジェクトでは、micro:bitボード、ゲームパッド、および超音波センサーを使用して、障害物回避システムを構築します。超音波センサーは障害物までの距離を測定し、OLEDディスプレイはリアルタイムで距離を表示します。距離が設定された閾値よりも小さい場合、micro:bitは警告音を鳴らし、LEDマトリックスに警告アイコンを表示します。 ![Img](./media/bottom1.png) #### 4.2.9.2 コンポーネント知識 ![Img](./media/2top.png) **超音波センサー** ![Img](./media/9001.png) 超音波センサーは、超音波を使用して物体までの距離を測定するデバイスです。超音波センサーは、人間の聴覚の範囲を超える高周波音波を放射し、その反射波を受信することで機能します。音波が物体に到達して反射してセンサーに戻るまでの時間を測定することで、センサーは物体までの距離を計算できます。 **回路図:** ![Img](./media/cou73-1.png) **パラメータ:** - 動作電圧: DC 3V~5V - 動作電流: 15mA - 測定範囲: 2cm~400cm - 測定精度: 0.3cm - 測定角度: 15度 - 出力信号: デジタル信号 #### 4.2.9.3 必要な部品 | ![Img](./media/microbitV2.png)| ![Img](./media/shoubin.png) |![Img](./media/dianchi.png) | | :--: | :--: | :--: | | **micro:bit V2 ボード** (自己調達) ×1 | **micro:bit スマートゲームパッド** (組み立て済み) ×1 |**単4電池** (自己調達) ×4 | |![Img](./media/9001.png)|![Img](./media/OLED.png)|![Img](./media/7008.png)| |**超音波センサー** (自己調達) ×1|**OLED ディスプレイ** (自己調達) ×1 |**F-F デュポンワイヤー**(自己調達) x7| #### 4.2.9.4 配線図 ![Img](./media/jiexian.png) **上記のように配線した後、micro:bitをゲームパッドコントロールボードのスロットに挿入します。** | OLED ディスプレイ | micro:bit ゲームパッドコントロールボード |micro:bit ボードピン | | :--: | :--: | :--: | | GND | GND | GND | | VCC | 3V | 3V | | SDA | SDA | P20 | | SCL | SCL | P19 | | 超音波センサー | micro:bit ゲームパッドコントロールボード | micro:bit ボードピン | | :--: | :--: | :--: | | GND | GND | GND | | VCC | 3V | 3V | | Trig | 1 | P1 | | Echo | 2 | P2 | #### 4.2.9.5 コードフロー ![Img](./media/9002.png) #### 4.2.9.6 テストコード ⚠️ **ここではOLEDと超音波センサーのライブラリが含まれているため、`https://github.com/keyestudio/pxt-environment-kit-master`をインポートする必要があります。** **完全なコード:** ![Img](./media/9003.png) ![Img](./media/line1.png) **簡単な説明:** ① OLEDのピクセルを初期化してクリアし、5×5LEDマトリックスに ![Img](./media/1006.png) を表示させ、距離の値を0に定義します。 ![Img](./media/9004.png) ② 超音波センサーの対応する測定値を変数distanceに割り当てます。 ![Img](./media/9005.png) ③ OLEDに超音波センサーの測定値を表示します。 ![Img](./media/9006.png) ④ 距離が10cm未満の場合、micro:bitは警告音を鳴らし、LEDマトリックスに警告アイコンを表示します。そうでない場合は、警告音を停止し、LEDマトリックスをクリアします。 ![Img](./media/9007.png) ⑤ 500ms(0.5秒)遅延させます。 ![Img](./media/cou28.png) #### 4.2.9.7 テスト結果 ![Img](./media/4top.png) コードを書き込んだ後、micro:bitボードをゲームパッドのスロットに挿入し(**電池が取り付けられていることを確認**)、「ON」に切り替えます。 micro:bitボードにコードをアップロードすると、OLEDに超音波センサーが読み取った距離がリアルタイムで表示されます。距離が10cm未満の場合、micro:bitは警告音を鳴らし、LEDマトリックスに警告アイコンを表示します。 ![Img](./media/9000.gif) **ヒント:** ボードが応答しない場合は、micro:bitボードの背面にあるリセットボタンを押してください。 ![Img](./media/4bottom.png)